// 小程序专用API请求封装（基于luch-request）
import Request from "luch-request";

// 创建luch-request实例
const instance = new Request({
  baseURL: 'https://tea.qingnian8.com/api/', // 小程序使用固定地址
  timeout: 8000, // 增加超时时间到8秒
  header: {
    'access-key': '661732',
    'X-Custom-Header': 'foobar',
    'Content-Type': 'application/json',
  },
  // 小程序特定配置
  sslVerify: false, // 开发环境不验证SSL证书
  withCredentials: false, // 小程序不支持携带cookie
  // 微信小程序特定配置
  dataType: 'json',
  responseType: 'text',
});

// 添加请求拦截器
instance.interceptors.request.use(
  (config) => {
    // 当前应用不需要登录，以下token相关处理代码保留但暂时不会使用
    const token = uni.getStorageSync("token");

    if (token) {
      // 如果存在token则添加到请求头（当前应用不需要登录，此逻辑暂时不会执行）
      config.header.Authorization = `Bearer ${token}`;
    }
    return config;
  },
  (error) => {
    return Promise.reject(error);
  }
);

// 添加响应拦截器
instance.interceptors.response.use(
  (response) => {
    // 直接返回数据
    return response.data;
  },
  (error) => {
    // 当前应用不需要登录，以下登录相关处理代码保留但暂时不会触发
    if (error.statusCode === 401) {
      // 清除token（当前应用不需要登录，此逻辑暂时不会执行）
      uni.removeStorageSync("token");

      // 小程序环境下使用uni.showToast提示登录过期（当前应用不需要登录）
      uni.showToast({
        title: "登录已过期，请重新登录",
        icon: "none",
        duration: 1500,
      });

      // 跳转到登录页（当前应用不需要登录，此逻辑暂时不会执行）
      setTimeout(() => {
        uni.navigateTo({ url: "/pages/login/index" });
      }, 1500);
    }

    return Promise.reject(error);
  }
);

export default instance;
